Лямбды — это удобные анонимные функции, которые можно объявлять прямо в коде. Вот ключевые фишки:
🔹Базовый синтаксис
auto lambda = [] { /* тело функции */ };
Каждая лямбда имеет уникальный тип, даже если выглядит так же, как другая.
🔹Захват переменных - По значению [x] — создаётся копия. - По ссылке [&x] — работаем с оригиналом.
int a = 10, b = 10; auto fn = [a, &b] { a++; // Не влияет на оригинал b++; // Меняет исходную переменную };
🔹Параметры и возвращаемое значение
auto sum = [](int x, int y) -> int { return x + y; };
Можно опустить -> int, если компилятор сам выведет тип.
🔹Изменяемые лямбды (mutable) Если захватываем по значению и хотим менять значение между вызовами:
int count = 0; auto bump = [count]() mutable { ++count; };
🔹Обобщённые лямбды (C++14+) Можно использовать auto для параметров:
auto sum = [](auto x, auto y) { return x + y; };
🔹Условная компиляция (if constexpr) Позволяет обрабатывать разные типы по-разному:
auto print = [](auto x) { if constexpr (std::is_same_v) { std::cout << «int: " << x; } };
💡Вывод:
Лямбды делают код лаконичнее, поддерживают захват переменных, обобщённые вычисления и даже constexpr-логику. Отлично заменяют мелкие функции и функторы.
Лямбды — это удобные анонимные функции, которые можно объявлять прямо в коде. Вот ключевые фишки:
🔹Базовый синтаксис
auto lambda = [] { /* тело функции */ };
Каждая лямбда имеет уникальный тип, даже если выглядит так же, как другая.
🔹Захват переменных - По значению [x] — создаётся копия. - По ссылке [&x] — работаем с оригиналом.
int a = 10, b = 10; auto fn = [a, &b] { a++; // Не влияет на оригинал b++; // Меняет исходную переменную };
🔹Параметры и возвращаемое значение
auto sum = [](int x, int y) -> int { return x + y; };
Можно опустить -> int, если компилятор сам выведет тип.
🔹Изменяемые лямбды (mutable) Если захватываем по значению и хотим менять значение между вызовами:
int count = 0; auto bump = [count]() mutable { ++count; };
🔹Обобщённые лямбды (C++14+) Можно использовать auto для параметров:
auto sum = [](auto x, auto y) { return x + y; };
🔹Условная компиляция (if constexpr) Позволяет обрабатывать разные типы по-разному:
auto print = [](auto x) { if constexpr (std::is_same_v) { std::cout << «int: " << x; } };
💡Вывод:
Лямбды делают код лаконичнее, поддерживают захват переменных, обобщённые вычисления и даже constexpr-логику. Отлично заменяют мелкие функции и функторы.
Pinterest (PINS) closed at $71.75 in the latest trading session, marking a -0.18% move from the prior day. This change lagged the S&P 500's daily gain of 0.1%. Meanwhile, the Dow gained 0.9%, and the Nasdaq, a tech-heavy index, lost 0.59%.
Heading into today, shares of the digital pinboard and shopping tool company had lost 17.41% over the past month, lagging the Computer and Technology sector's loss of 5.38% and the S&P 500's gain of 0.71% in that time.
Investors will be hoping for strength from PINS as it approaches its next earnings release. The company is expected to report EPS of $0.07, up 170% from the prior-year quarter. Our most recent consensus estimate is calling for quarterly revenue of $467.87 million, up 72.05% from the year-ago period.
How to Use Bitcoin?
n the U.S. people generally use Bitcoin as an alternative investment, helping diversify a portfolio apart from stocks and bonds. You can also use Bitcoin to make purchases, but the number of vendors that accept the cryptocurrency is still limited. Big companies that accept Bitcoin include Overstock, AT&T and Twitch. You may also find that some small local retailers or certain websites take Bitcoin, but you’ll have to do some digging. That said, PayPal has announced that it will enable cryptocurrency as a funding source for purchases this year, financing purchases by automatically converting crypto holdings to fiat currency for users. “They have 346 million users and they’re connected to 26 million merchants,” says Spencer Montgomery, founder of Uinta Crypto Consulting. “It’s huge.”
Библиотека C C разработчика | cpp boost qt from ye